﻿// ***********************************************************************
// Assembly         : Delta_entidad
// Author           : Juan Alberto Cerino Gomez
// Created          : 05-01-2013
//
// Last Modified By : Juan Alberto Cerino Gomez
// Last Modified On : 06-02-2013
// ***********************************************************************
// <copyright file="AttFiltro.cs" company="Delta Bussines">
//     Copyright (c) 2013  Delta Bussines. All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Delta_entidad.Atributos
{
    /// <summary>
    /// Este atributo se coloca en las propiedades de la clase,indica la configuración del filtro para este campo.
    /// 
    /// Este atributo es OPCIONAL, use solo cuando deseé filtrar los datos de este campo.
    /// </summary>
    [Serializable()]
    [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
   public class AttFiltro:System.Attribute
    {

        #region Declaraciones
        /// <summary>
        /// Variable que guarda los datos del filtro.
        /// </summary>
        private EntidadesControl.Cat_filtro_campo _filtro= null;
        #endregion

        /// <summary>
        /// Obtiene los datos del filtro configurado para el campo.
        /// </summary>
        /// <value>Devuelve una cadena vacia si el campo no tiene filtro configurado.</value>
        public EntidadesControl.Cat_filtro_campo filtro
        {
            get
            {
                if (_filtro == null)
                    _filtro = new EntidadesControl.Cat_filtro_campo();
                return _filtro;

            }           
        }
        /// <summary>
        /// Constructor de la clase.
        /// </summary>
        /// <param name="Nombre">Indica el nombre identificador del filtro.</param>
        /// <param name="Operacion">Indica la operación a usar cuando se realize el fiiltro de datos del campo configurado, por el momento las operaciones soportadas son : =,>,<,<>,LIKE.</param>
        /// <param name="TomarValorGrid">Indica si se toman los valores de la tabla, si es verdadero, el control a mostrar será un DropDownList, el cual contendrá todos los valores diferentes que se encuentran el el Delta Grid, del campo configurado.</param>
        public AttFiltro(string Nombre, string Operacion, bool TomarValorGrid)
        {
            filtro.nombre = Nombre;
            filtro.operacion = Operacion;
            filtro.tomar_valor_grid = TomarValorGrid;
        }
    }
}
